home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / Amiga_Mail_Vol2 / Archives / Plain / jf93 / ASCII / AmigaGuide / AmigaGuide.txt < prev   
Encoding:
Text File  |  1993-03-01  |  24.4 KB  |  621 lines

  1. (c) Copyright 1993 Commodore-Amiga, Inc.   All rights reserved.
  2. The information contained herein is subject to change without notice,
  3. and is provided "as is" without warranty of any kind, either expressed
  4. or implied.  The entire risk as to the use of this information is
  5. assumed by the user.
  6.  
  7.  
  8. AmigaGuideTM 101
  9.  
  10.  
  11. by Jerry Hartzler
  12.  
  13.  
  14.  
  15. NOTE: AmigaGuideTM is now available to developers on the 3.0
  16. Workbench release, the CATS Developer CD and Commodore's closed Amiga
  17. developer listings area on BIX, CIX and ADSP.  Developers with a
  18. Workbench or Includes License can amend their license to distribute
  19. AmigaGuide.  Currently CATS is in the process of putting together an
  20. archive file that will be made available to the general public.
  21.  
  22.  
  23. Compared to other platforms, Amiga-based utilities that display
  24. on-line documentation are relatively weak.  Until 1991, Amiga users
  25. had to rely on basic text viewing utilities like More, which lack the
  26. navigational capabilities of hypertext programs.  In a hypertext
  27. environment, when the user wants more information on a subject, the
  28. user simply clicks on a word and the hypertext utility automatically
  29. cross references the subject.  No type of hypertext-like utility was
  30. available on the Amiga--that is, until AmigaGuide came along.
  31.  
  32. AmigaGuide can display plain ASCII text files and AmigaGuide
  33. databases.  An AmigaGuide database is a single file that consists of
  34. a set of documents called nodes.  If you were to convert a book into
  35. an AmigaGuide database, a convenient way to organize the database is
  36. to make each chapter of the book into a node.  Each node may contain
  37. references to other nodes (chapters) or databases (other books),
  38. using a link.  When a user selects a link--which usually appears in
  39. the form of a button within the text--AmigaGuide dereferences the
  40. link and displays its node.  This makes it easier for the user to
  41. find the information he is looking for because the user no longer
  42. needs to search through a document.  AmigaGuide already knows where
  43. the information is.
  44.  
  45. Buttons within AmigaGuide can do other actions as well, such as
  46. execute Shell or ARexx commands.  An ARexx port is also built into
  47. AmigaGuide providing users the means to support and control the
  48. utility.  Therefore, like a book, an AmigaGuide database can display
  49. illustrations.  It can go a step beyond by playing sounds and music,
  50. and by being truly interactive with the user, able to ask questions
  51. and evaluate responses.
  52.  
  53. This article was written to familiarize you with AmigaGuide and the
  54. format of its databases.
  55.  
  56.  
  57.  
  58. Setting up AmigaGuide
  59.  
  60. AmigaGuide consists of the AmigaGuide utility and an Exec library
  61. called amigaguide.library.  AmigaGuide should be placed in the
  62. SYS:Utilities drawer and amigaguide.library placed in the Libs:
  63. drawer.  As of Release 3, the OS comes with a utility called
  64. MultiView that understands and displays AmigaGuide databases.
  65. MultiView requires amigaguide.datatype and .datatypes.library in
  66. order to display AmigaGuide databases.
  67.  
  68. AmigaGuide can run from the Workbench or the Shell.  To run from
  69. Workbench, the default tool of an AmigaGuide database or text icon
  70. should be set to ``AmigaGuide''.
  71.  
  72. From the Shell, use the following command template:
  73.  
  74.     AmigaGuide <my_DataBase>
  75.  
  76. where <my_DataBase> is the name of the AmigaGuide database or text
  77. file to display.
  78.  
  79. For example:
  80.  
  81.     1> AmigaGuide Autodocs
  82.  
  83. attempts to open the ``Autodocs'' database.  In its search for a
  84. database, AmigaGuide will first look in the current directory and
  85. then through the AmigaGuide path for the database.
  86.  
  87. The AmigaGuide path is a global environment variable.  AmigaGuide
  88. stores its environment variables in the ENV:AmigaGuide directory
  89. assigned in RAM:.
  90.  
  91. The variable named ``path'' contains the list of directory names that
  92. AmigaGuide will search through when it attempts to open a database.
  93. Directory names are separated by a space.  The path variable is set
  94. and stored in the ENV:AmigaGuide directory through the use of the
  95. AmigaDOS SetEnv command (Note that as of Release 3, if the AmigaGuide
  96. directory does not exist, SetEnv will not create it).
  97.  
  98. For example:
  99.  
  100.     1> SetEnv AmigaGuide/Path "Workbench:Autodocs Workbench:Includes"
  101.  
  102. Of course all variables set in RAM: disappear once the computer is
  103. turned off.  To prevent this, copy the file ENV:AmigaGuide/Path to
  104. the ENVARC:AmigaGuide directory.  The system copies the ENVARC:
  105. directory to ENV: upon start-up.
  106.  
  107. The MultiView utility uses the  amigaguide.datatype which uses this
  108. the environment variable as its path.
  109.  
  110.  
  111. The AmigaGuide Window
  112.  
  113. AmigaGuide displays text within an Intuition window.  The window
  114. contains scroll bars, buttons and pull-down menus making it easy to
  115. browse, search and print text.
  116.  
  117. Along the top edge of the AmigaGuide window is a row of six
  118. navigation buttons:
  119.  
  120.   Contents: This button displays the Table Of Contents for the current
  121.   database or node.  See the @NODE and @TOC commands below.
  122.  
  123.   Index: This button displays the Index for the current database.  See
  124.   the @INDEX command below.
  125.  
  126.   Help: By deafault, this button displays the database named help.guide
  127.   in the s: directory.  Under 3.0, the database is named
  128.   amigaguide.guide in the Help:<country>/sys directory.  This database
  129.   contains help in using AmigaGuide.
  130.  
  131.   Retrace: This button goes back to the previous node.
  132.  
  133.   Browse: These buttons step through the nodes in sequential order (the
  134.   order they appear in the database).
  135.  
  136.  
  137. AmigaGuide Databases
  138.  
  139. Creating an AmigaGuide database is quite simple.  An AmigaGuide
  140. database is basically an ASCII text file, embedded with commands to
  141. tell AmigaGuide what to do.  Let's take a look at the commands used
  142. in AmigaGuide and then make up a simple database.
  143.  
  144. There are three types of AmigaGuide commands.  Database commands
  145. break up a document into nodes.  Node commands set attributes within
  146. a node.  Action commands are only found within a special node command
  147. called a ``link point''.  As the name implies, action commands
  148. perform some action.
  149.  
  150.  
  151. Database Commands
  152.  
  153. Database commands should not be used within the nodes themselves.
  154. They must start in the first column of a line.  If a line in an
  155. AmigaGuide database begins with an at (@) sign, then AmigaGuide
  156. interprets the line as a command.  Although the AmigaGuide commands
  157. appear here in upper-case, AmigaGuide commands are not case sensitive.
  158.  
  159. @DATABASE <name> - This command identifies a file as an AmigaGuide
  160. database.  It must be the first line of the database.
  161.  
  162. @NODE <name> <title> - This command indicates the start of a node.
  163. The first node of a database should be named ``MAIN''.  ``MAIN'' is
  164. typically the master table of contents for the database (see the @TOC
  165. node command in the next section).  When AmigaGuide displays the
  166. node, it displays <title> in the window's title bar.  If there are
  167. any spaces in the <title>, it must be in quotes.  A node name cannot
  168. contain spaces, tabs, colons (':') or slants ('/').
  169.  
  170. @DNODE <name> - This command indicates the start of a dynamic node.
  171. Dynamic nodes are beyond the scope of this introductory article and
  172. therefore are not discussed here.
  173.  
  174. @INDEX <node name> - This command tells AmigaGuide which node to use
  175. as the index for the database.  When the user hits the ``Index''
  176. button at the top of the AmigaGuide window, AmigaGuide will display
  177. the node specified by this command.  The node can be in another
  178. database.  If the node is in another database, the node name is the
  179. file name of the database followed by a slant (`/`), followed by the
  180. name of the node in the other database.  For example, to access the
  181. MAIN node in another database called ``other_database'', the link
  182. point looks like this:
  183.  
  184.     @{"my label" LINK other_database/MAIN}
  185.  
  186. The name of the other database can contain a full path to the other
  187. database.  If it doesn't, AmigaGuide will search the AmigaGuide path
  188. for the other database.
  189.  
  190. @REMARK <remark> - This commands lets you add programmer remarks to a
  191. database.  AmigaGuide ignores the remarks.
  192.  
  193.  
  194. Node Commands
  195.  
  196. These commands are only valid within a @NODE.  They must start in the
  197. first column of a line unless otherwise noted.
  198.  
  199. @ENDNODE <name> - This command ends a node.
  200.  
  201. @TITLE <title> - AmigaGuide displays <title> in the node's window
  202. title bar.  It must start at the beginning of a line.  This command
  203. isn't necessary if you use the <title> option in @NODE.
  204.  
  205. @TOC <node name> - This command tells AmigaGuide which node to
  206. display when the user hits the ``Contents'' button while displaying
  207. this node.  If a node does not have a @TOC command, the table of
  208. contents defaults to ``MAIN''.  The <node name> can be in another
  209. database.  See the @INDEX command in the ``Database Commands''
  210. section for more information on the format of <node name>.
  211.  
  212. @PREV <node name> - The ``Browse'' buttons can be reprogrammed so as
  213. not to step through the nodes in sequential order.  For example, if
  214. this command appears in a @NODE, AmigaGuide  will display the <node
  215. name> node when the user selects the ``< Browse'' button while in the
  216. current node.  The <node name> can be in another database.  See the
  217. @INDEX command in the ``Database Commands'' section for more
  218. information on the format of <node name>.
  219.  
  220. @NEXT <node name> - Similar to @PREV but will display the <node name>
  221. node when the user selects ``Browse >'' button while in the current
  222. node.  The <node name> can be in another database.  See the @INDEX
  223. command in the ``Database Commands'' section for more information on
  224. the format of <node name>.
  225.  
  226. @{"<label>" <action command>} - This command is referred to as a link
  227. point.  AmigaGuide makes the string <label> into a button.  The
  228. <label> must be enclosed by quotes.  When the user hits that button,
  229. AmigaGuide carries out <action command> (see the next section of this
  230. article for a description of action commands).  A link point does not
  231. have to start in the first column, it can appear anywhere on a line.
  232.  
  233.  
  234. Action Commands
  235.  
  236. These commands are for use with the link point command described in
  237. the ``Node Commands'' section of this article.
  238.  
  239. LINK <node name> <line#> - This command loads and displays the <node
  240. name> node at the line number specified in <line #>.  The <line #>
  241. parameter is optional and it defaults to zero.  The node can be in
  242. another database.  The <node name> can be in another database.  See
  243. the @INDEX command in the ``Database Commands'' section for more
  244. information on the format of <node name>.
  245.  
  246. The <line #> parameter is optional and it defaults to zero.  The
  247. default line number is line zero.
  248.  
  249. RX <ARexx command> - This commands executes the ARexx macro named in
  250. <ARexx command>.
  251.  
  252. RXS <command> - This commands executes the ARexx string file named in
  253. <command>.
  254.  
  255. SYSTEM <command> - This commands executes the AmigaDOS command named
  256. in <command>.
  257.  
  258. QUIT - When AmigaGuide encounters this command is shuts down the
  259. current database.
  260.  
  261.  
  262. A Working Database
  263.  
  264. As an example, Let's make the text file below into a simple
  265. AmigaGuide database.  The simple database will consists of a single
  266. node.
  267.  
  268.   What is a user interface? This sweeping phrase covers all
  269.   aspects of communication between the user and the computer. It
  270.   includes the innermost mechanisms of the computer and rises to
  271.   the height of defining a philosophy to guide the interaction
  272.   between human and machine.  Intuition is, above all else, a
  273.   philosophy turned into software.  See the Amiga ROM Kernel
  274.   Reference Manual: Libraries for more information.
  275.  
  276.   Intuition screens are the basis of any display Intuition can
  277.   make. Screens determine the fundamental characteristics of the
  278.   display such as the resolution and palette and they set up the
  279.   environment for multiple, overlapping windows that makes it
  280.   possible for each application to have its own separate visual
  281.   context.
  282.  
  283.   Windows are rectangular display areas that open on screens.
  284.   The window acts as a virtual terminal allowing a program to
  285.   interact with the user as if it had the entire display all to
  286.   itself. Windows are moveable and can be positioned anywhere
  287.   within the screen on which they exist.  Windows may also have a
  288.   title and borders containing various gadgets for controlling
  289.   the window.
  290.  
  291.   Gadgets are software controls symbolized by an image that the
  292.   user can operate with the mouse or keyboard.  They are the
  293.   Amiga's equivalent of buttons, knobs and dials.
  294.  
  295.   Menus are command and option lists associated with an
  296.   application window that the user can bring into view at any
  297.   time.  These lists provide the user with a simple way to access
  298.   features of the application without having to remember or enter
  299.   complex character-based command strings.
  300.  
  301. If AmigaGuide displayed the file above, it would appear without any
  302. buttons linking it to text files or databases.  To mark this file as
  303. an AmigaGuide database, add the @DATABASE command.  As mentioned
  304. earlier, it must start on the first line in the first column of the
  305. file.
  306.  
  307. Since there will be no index for this database, the next command can
  308. be a @NODE.  For AmigaGuide to open a database, it must contain a
  309. node.  Since this will be the first node in the database, it should
  310. be named ``MAIN''.
  311.  
  312. At the bottom of the file, on a separate line, add the @ENDNODE
  313. command.  This tells AmigaGuide that the current node ends here.  All
  314. nodes must contain an @ENDNODE command.
  315.  
  316. This is what we have so far:
  317.  
  318.     @DATABASE
  319.     @NODE MAIN
  320.     What is a user interface? This sweeping phrase covers all
  321.             .
  322.             .
  323.             .
  324.     complex character-based command strings.
  325.     @ENDNODE
  326.  
  327. The file is now an AmigaGuide database.  However, since the database
  328. has only one node and has no link points, the database will still
  329. appear as plain text.  Also, AmigaGuide will ghost all of the
  330. navigation buttons.  The database can be broken into smaller nodes if
  331. desired.  Normally such a short file would not need to be broken up,
  332. but it makes a good example.
  333.  
  334. One important issue to consider while designing an AmigaGuide
  335. database is how to lay it out.  Some thought should go into the
  336. break-up of a document into manageable nodes, and how these nodes
  337. relate--and eventually link--to one another.  Each node should
  338. consist of information dealing with one topic and should contain
  339. links to other related nodes.
  340.  
  341. Notice that the example text is about Intuition, but each paragraph
  342. discusses a different topic of Intuition.  The first paragraph is an
  343. overview followed by four paragraphs: one each on screens, windows,
  344. gadgets and menus.  This organization makes it convenient to make
  345. each paragraph a node with a table of contents in the beginning:
  346.  
  347.  
  348.     Intuition Table of Contents
  349.  
  350.     Introduction
  351.     Screens
  352.     Windows
  353.     Gadgets
  354.     Menus
  355.  
  356.  
  357. Since the ``Table of Contents'' node is first, it is the MAIN node.
  358. The other paragraphs follow the MAIN node, each in their own separate
  359. node.  So as not to confuse AmigaGuide, each node within a database
  360. must have a different name.
  361.  
  362.     @DATABASE
  363.     @NODE MAIN "Intuition Table of Contents"
  364.     Introduction
  365.     Screens
  366.     Windows
  367.     Gadgets
  368.     Menus
  369.     @ENDNODE
  370.  
  371.     @NODE Intro "Introduction"
  372.     What is a user interface? This sweeping phrase...
  373.     @ENDNODE
  374.  
  375.     @NODE Screen "Screens"
  376.     Intuition screens are the basis of any display...
  377.     @ENDNODE
  378.  
  379.     @NODE Window "Windows"
  380.     Windows are rectangular display areas that open...
  381.     @ENDNODE
  382.  
  383.     @NODE Gadget "Gadgets"
  384.     Gadgets are software controls symbolized by an...
  385.     @ENDNODE
  386.  
  387.     @NODE Menu "Menus"
  388.     Menus are command and option lists associated...
  389.     @ENDNODE
  390.  
  391. When AmigaGuide loads the database above, AmigaGuide displays the
  392. MAIN node with the title string ``Intuition Table of Contents'' in
  393. the window's title bar.  As the user clicks the ``Browse'' buttons at
  394. the top of the AmigaGuide window, AmigaGuide steps through each node
  395. in the database, displaying each paragraph.  Notice that each node in
  396. the database uses the window title parameter.  As the ``Browse''
  397. buttons step through the database displaying the different nodes in
  398. sequence, the AmigaGuide window title changes to match the title from
  399. the current node.
  400.  
  401. An important limitation of the database above is the only way to
  402. access the different nodes is using the ``Browse'' button to step
  403. through them in the order they appear in the database.  The database
  404. still has no buttons within the nodes to link to other nodes.
  405.  
  406.  
  407. Using Link Points
  408.  
  409. The link point command is probably the most commonly used command in
  410. a database.  With it you can make a word in one node reference
  411. another node.  For example, in the ``Table of Contents'' node from
  412. the previous example, you can make each entry from the table into a
  413. button that references its respective node.
  414.  
  415. The template for a link point is:
  416.  
  417.     @{<label> <action command>}
  418.  
  419. The label parameter is the word or phrase in a database that is made
  420. into a button, and the action command is the action AmigaGuide takes
  421. when the user clicks the button.  For our example, we want each topic
  422. in the table of contents to be a label and the action command for
  423. each to be a LINK command.  The LINK command loads and displays
  424. another node.
  425.  
  426.     @{<label> LINK <name> <line#>}
  427.  
  428. For example, if you change the word ``Introduction'' from the Table
  429. of Contents node into a link point it would look like this:
  430.  
  431.     @{"Introduction" LINK Intro}
  432.  
  433. The <label> string must be in quotes.  If you load the database into
  434. AmigaGuide after making the change above, the word ``Introduction''
  435. would appear as a button on the Table of Contents screen.  If the
  436. user clicks on the ``Introduction'' button, AmigaGuide displays the
  437. node named ``Intro''.
  438.  
  439. Unlike other AmigaGuide commands, link points do not need to start in
  440. the first column.  This makes it easy to indent a button from the
  441. left edge of the window and also to embed a button within a block of
  442. text.
  443.  
  444. Link points can also link to nodes in other databases.  As an
  445. example, consider the following excerpt from the ``Intro'' node:
  446.  
  447.   philosophy turned into software.  See the Amiga ROM Kernel Reference
  448.   Manual: Libraries for more information.
  449.  
  450. If an AmigaGuide database of Amiga ROM Kernel Reference Manual:
  451. Libraries was readily available,  it would be convenient if the word
  452. ``Libraries'' from the excerpt was a button, linking the word
  453. ``Libraries'' directly to the Libraries manual database.  If the
  454. Libraries manual database was named Libraries_Manual and it was in
  455. the current AmigaGuide path, to make the word ``Libraries'' from the
  456. ``Intro'' node into a link point that opens the Libraries_Manual
  457. database, change the excerpt above to the following:
  458.  
  459.   philosophy turned into software.  See the Amiga ROM Kernel
  460.   Reference Manual: @{"Libraries" LINK Libraries_Manual/Intro} for more information.
  461.  
  462. In the example above, when the user selects the ``Libraries'' button,
  463. AmigaGuide will try to display the MAIN node from the database called
  464. Libraries_Manual.  AmigaGuide will first look for Libraries_Manual in
  465. the directory where the example database resides.  If it's not there,
  466. AmigaGuide searches through its path for the database.  Alternately,
  467. you can supply a full path name to Libraries_Manual.
  468.  
  469. A link point can also be used to display a picture.  For example, to
  470. display an ILBM image of a Workbench screen from the ``Screen'' node,
  471. use the SYSTEM action command:
  472.  
  473.     @{"Picture of a Workbench Screen" SYSTEM sys:utilities/Display sys:Workbench.pic}
  474.  
  475. From the command above, when the user click the ``Picture of a
  476. Workbench Screen'' button, SYSTEM executes the Display utility.
  477. Display shows the ILBM file sys:Workbench.pic.  Because Display is
  478. merely a shell command, you can substitute your own ILBM viewer for
  479. Display.
  480.  
  481. Below is the finished database with a few more interactive link
  482. points.
  483.  
  484.   @DATABASE
  485.   @NODE MAIN "Intuition Table of Contents"
  486.   @{"Introduction" LINK Intro}
  487.   @{"Screens" LINK Screen}
  488.   @{"Windows" LINK Window}
  489.   @{"Gadgets" LINK Gadget}
  490.   @{"Menus" LINK Menu}
  491.   @ENDNODE
  492.  
  493.   @NODE Intro "Introduction"
  494.   What is a user interface? This sweeping phrase covers all
  495.   aspects of communication between the user and the computer.  It
  496.   includes the innermost mechanisms of the computer and rises to
  497.   the height of defining a philosophy to guide the interaction
  498.   between human and machine.  Intuition is, above all else, a
  499.   philosophy turned into software.  See the Amiga ROM Kernel
  500.   Reference Manual: @{"Libraries" LINK Libraries_Manual/Intro} for more information.
  501.   @ENDNODE
  502.  
  503.   @NODE Screen "Screens"
  504.   Intuition screens are the basis of any display Intuition can
  505.   make.  Screens determine the fundamental characteristics of the
  506.   display such as the resolution and palette and they set up the
  507.   environment for multiple, overlapping @{"windows" LINK Window} that makes it
  508.   possible for each application to have its own separate visual
  509.   context.
  510.  
  511.   @{"Picture of a Workbench Screen" SYSTEM sys:utilities/Display sys:Workbench.pic}
  512.  
  513.   @ENDNODE
  514.  
  515.   @NODE Window "Windows"
  516.   Windows are rectangular display areas that open on @{"screens" LINK screen}.  The
  517.   window acts as a virtual terminal allowing a program to interact
  518.   with the user as if it had the entire display all to itself.
  519.   Windows are moveable and can be positioned anywhere within the
  520.   screen on which they exist.  Windows may also have a title and
  521.   borders containing various @{"gadgets" LINK Gadget} for controlling the window.
  522.   @ENDNODE
  523.  
  524.   @NODE Gadget "Gadgets"
  525.   Gadgets are software controls symbolized by an image that the
  526.   user can operate with the mouse or keyboard.  They are the
  527.   Amiga's equivalent of buttons, knobs and dials.
  528.   @ENDNODE
  529.  
  530.   @NODE Menu "Menus"
  531.   Menus are command and option lists associated with an
  532.   application @{"window" LINK Window} that the user can bring into view at any
  533.   time.  These lists provide the user with a simple way to access
  534.   features of the application without having to remember or enter
  535.   complex character-based command strings.
  536.   @ENDNODE
  537.  
  538. Although this is a small sample and only a few basic commands are
  539. used, it is a good start to making your own AmigaGuide database.
  540.  
  541.  
  542. The Doctor Is In
  543.  
  544. To make it easier to create a bug-free database, below is a list of
  545. common mistakes made when editing an AmigaGuide database.
  546.  
  547. As with any type of programming, errors are bound to crop up.  One of
  548. the most common mistakes is spelling errors.  Always double check
  549. your spelling of commands.  Also, make sure all commands that should
  550. begin in the first column do so.
  551.  
  552.  
  553. Symptom:  AmigaGuide displays a database as a text file.  For
  554. example, instead of a button, AmigaGuide displays the link point
  555. command that was supposed to display the button.
  556.  
  557. Cure: AmigaGuide does not think the file is an AmigaGuide database.
  558. Check that the first line of the file is the @DATABASE command and
  559. that it starts in the first column.
  560.  
  561.  
  562. Symptom: When displaying a database node, AmigaGuide displays nothing
  563. in its window.
  564.  
  565. Cure: Either the @ENDNODE command is not present in the node or the
  566. @ENDCODE command does not start in the first column.
  567.  
  568.  
  569. Symptom: AmigaGuide does not display a button or its label.
  570.  
  571. Cure: The <label> parameter in the link point is missing or not
  572. enclosed in quotes.
  573.  
  574.  
  575. Symptom: When the user selects a button, AmigaGuide flashes the
  576. screen and displays the error message ``Couldn't locate <node>''.
  577.  
  578. Cure: AmigaGuide cannot locate the node specified in the button's
  579. link point command.  If the link point command points to a node in
  580. another database, the database must be in the AmigaGuide path or the
  581. node must contain the full path name to the database.  The link point
  582. command also require a NODE name as the last parameter in the path
  583. separated by a slant (/).  If the file is only text and not an
  584. AmigaGuide database, its path name should end with ``/MAIN''.  If a
  585. node or file has any spaces in its name, the path name must be
  586. enclosed within quotes.
  587.  
  588.  
  589. Symptom: AmigaGuide flashes the screen when a button is selected but
  590. displays no error message.
  591.  
  592. Cure: AmigaGuide does not recognize the <action command> parameter in
  593. the link point, or AmigaGuide cannot locate the specified node (see
  594. the cure above).
  595.  
  596.  
  597. Symptom: AmigaGuide does not fully display a button.
  598.  
  599. Cure: Check that all of the link points end with a closing brace (}).
  600. Note that there is a bug in AmigaGuide that can crash the system if a
  601. link point does not end with a closing brace.
  602.  
  603.  
  604. Symptom: AmigaGuide will not load a database and displays a ``Can't
  605. find Node'' requester.
  606.  
  607. Cure: All databases must contain at least one node.  If the file is
  608. short, all the text can be in one node called ``MAIN''.  If you do
  609. not wish to make the file a database at all, remove the @DATABASE
  610. command.
  611.  
  612.  
  613. Symptom: AmigaGuide does not allow the the user to browse the
  614. database to its end.  It either stops browsing before reaching the
  615. last node, or it gets caught in an endless loop, cycling through a
  616. number of nodes.
  617.  
  618. Cure: At least two nodes within a single database have the same name.
  619. Every node must have a different name unless they are in separate
  620. databases.
  621.